*****************
* Dosxbox v14b5 *
*****************

++++++++++++++++
+ General Info +
++++++++++++++++

* Occasionally a games title and action shots wont display.  This varies on what games you played etc swallowing up just enough RAM to cause this to happen.  Not much I can do about it at this point.  Memory is at a premium with dosxbox.

* My version of dosxbox changes the save directory format to be something a little more sane then what x-port did.  This may require either re-doing the save config or copying the save files to the proper location and renaming them.  I do have a XBMC script from bombbloke that should automatically do this but I have not tested it.  

* When configuring your own game.  Please use the game configuration options to setup as much as possible.  I had one guy who was using the autoexec script to mount the GUS and MT32 files himself which is silly and not needed because my code does all the setup for you.

* Changing cycles can increase a games speed.  But it also has some downsides.  For DOS games that use the speaker for sound changing the cycles will change the pitch of the game sound.  When using a sound card increasing the cycles too much can cause the music in a game to skip from time to time.

*******
* FAQ *
*******

* Why not Dosbox 0.74?  

I actually did a core update to 0.74.  However the memory handling system changed enough to where the old memory eating issues due to poor cleanup came back.

* But what about the new OPL code?  It is supposed to be more accurate and faster?

Yeah and it also eats up more memory thus making it harder if not impossible to run games that use more memory (say 16mb and more?).  I've considered making a seperate "core" with the new OPL code and either GUS or MT32 sound cores removed (or both removed) in order to allow running of games with this sound code.  I've also considered the trusty route (xbox with extra memory), or at least both.  It really depends on how much RAM is eaten up by this type of combo.  What to do will become more clear as I configure more games and get an idea of the typical configurations used.

* So what kind of improvements can I expect from a trusty box?

A faster processor provides minimal improvement.  I'll have to experiment with this more as I have more time.  But I've gotten better performance from the trusty and pcsxbox than I have with a trusty and dosxbox.  However I have noticed that in games where the audio stuttered the stuttering is gone.  So in some cases you can upgrade the audio setup to either GUS or MT32 without performance loss.  Some examples are Space Quest I VGA, Strike Commander, Syndicate series, Tie Fighter (collectors CD) and Ultima Underworld.

If you have more memory it may allow for the possibility of playing games that require more than 20mb of RAM.  I have yet to test this because it is my general experience that games that require more RAM also require a faster processor.  :lol:

* Why use DOS32A?

Dos4gw is chock full of bugs.  On top of that it behaves badly when using a small TLB.  The downside to using DOS32A is sometimes it doubles the memory requirements but it likes small TLB better.  Talk about a catch 22.  :lol:  

*******************************
*** Changes To DosXbox Core ***
*******************************

* My apologies for the "not so uniform" changelog.  A lot of these entries were created during beta testing and were written that way.  But I did not want to delay the release of this trying to reformat them in a way that makes more sense.  Also the interface is about 5 versions behind.  I really don't want to convert it to the latest since I don't know what kind of effect it will have on the games that are part of the DosXbox Ultimate Set.

* Oh can anyone say Dosbox 0.72 and dynamic recompiler?  Thought so.. Why 0.72?  Don't ask... :P  Warning: Dynamic recompiler is a memory hog.

* Dosxbox now has an option for small TLB and Large TLB.  Some games need a large TLB in order to run.  However there are some odd constraints.  Large TLB limits you to 8mb or less (12mb or less on xbox with extra RAM) when using the Dynamic Compiler (and not MT32 either).  If you are not using the Dynamic Compiler you can use the full 20mb (I think - not tested with MT32) but you also need to use the replacement memory handler DOS32A.  I put a couple of checks in.. but to be honest I decided to wait on that until I finalize how I want the cores to be setup.

* Some minor changes to memory limitation code checks for large tlb and small tlb.  Still needs to take into account mt32 and CD Image mount memory useage.

* CDDA was only playing on first run and no subsequent runs (fixed) [tested on Battle Chess Enhanced]

* Gravis Ultrasound patch support added.  Now you can configure games that have GUS support to use it.  GUS support files are in the emu directory as "ultrasound\411" (original gus patches) and "ultrasound\PPL161" enhanced patches.  The user can select which to use in each game's configuration screen.

* Roland MT32 sound support added.  I have mixed feelings on the emulated Roland MT32.  On some games it sounds rather good on others it sounds pretty bad (probably due to poor emulation).  So in order of best sounding it is typically (MT32, GUS, and then SB).  However MT32 does not always sound that great.

* MT32 mixer was not being released properly thus eating up memory on each run. (fixed)

* Analog joystick support was not working.  This prevented the left/right analog stick from working properly as well as caused centering of an analog stick to not work correctly.  Fixed.

* Flipped the Y axis once analog joystick support was fixed (sorry.. just didn't dig the airplane like controls. :P )

* New "disabled" option added to "Joystick 1" and "Joystick 2".  Apparently some games just don't behave to well with them on.  In fact using the mouse and mapping the joysticks to keyboard commands functions far better anyways and is less hassle.

* Fixed issue where games that used xms/ems would hang (improper cleanup of xms/ems code on exit)

* Fixed Dosbox core not closing open files when the user exited.  Thus causing potential problems when running a game that writes to files again.

* Fixed Dosbox core not cleaning up variables properly when mounting CD "images"

* Put soundblaster and GUS configuration in seperate menus

* Added "Change Cycles" and "Change Frameskip" option to "in game" options menu.

* User has option to have (.dos) filename based on directory selected (defaults to yes)

* Mouse no longer spazzes out like it used to??  Need to test on more mouse games, but seems ok so far.

* Added backspace to mappable keys since it was missing.  :P

* Although technically not possible on the real hardware, added odd memory sizes.  Currently added ones are 12, 16 and 20.  This allows more flexibility in the tight memory situation on the xbox.  20mb currently makes C&C series playable with a small TLB and use of Dos32a.

* Preset controller configuration functionality added.

* Activated the action list function for Dosxbox.

* User is returned to the "default ROM path" after creating a new configuration (aka .dos file).

* playback/record option has been axed. This saves about 512k and besides it never worked to well with computer based emu's anyways.. :P

* Added ability to mount a disk image as drive A or as a booter.  Populous uses this.  If a file with ".IMG" as the extension is selected it is assumed to be a booter image.

* Added in the ability to mount a directory as Drive A for game configurations that need this.  The only game that I ran into that needed this was "Les Manley in - Search for the King".

* implemented revision r3236 to fix screen colors in Lord's Of conquest.  ( One of my fav games back in the day ).

* Some DOS games use higher resolution (greater than 320x200) which means harder to read text.  So although I recommend 640i/p those games have better readability in 720p.  

* Added support for EGA games (for those few games that can use it over CGA).

* Added support for PCjr mode Tandy mode as well as PCjr carts.  Games that support these can have better music/sound and graphics.

* Added ability to use a cartridge image. Machine type is automatically switched to PCJr.  If a file with ".JRC" as the extension is selected it is assumed to be a cartridge image and machine type is set to PCJr.

* Added support for TV composite mode (Burgertime and probably some other games.. Alley cat?)

* Most of the memory allocated by the Dynamic Recompiler is now released on exit.  There is some that is not deallocated correctly so I had to leave that alone.

* Implemented a basic memory "check" system in the game configuratiaon screen to give the user an idea of how much memory useage will be required and if the emulator will run or just "exit out"

* Memory "check" system takes into account the following.  Current skin size, emulated memory amount selected, SVGA machine mode, SVGA memory setting and mt32 active or not active.

* Memory "check" system does not take into account large or small TLB, Interface video mode or game specific video mode.

* Soundblaster type was not being set correctly in dosbox.conf.  This mostly didn't affect anything unless you tried to set soundblaster type to something other than SB16.

* Moved "Edit Autoexec Lines" in game configuration screen to above "Machine Type".

* Moved "Game Video Mode" line in game configuration screen up one line.

* Fixed issue where constantly restarting a game would stop it from working.

* Fixed an issue where the cpu state was not being restored properly.  Thus constantly restarting a protected mode game would only work every other run (a weird one I know!).

* Analog Joystick code was never tested much and thus was foobared.  Fixed.  

I had to remove some features from dosbox because implementing them caused performance degredation which caused game music to skip and thus was utterly annoying.  

*************************
*** To Do For DosXbox ***
*************************

* Some form of memory check to force reboot of the .xbe in low memory situations?  (Be sure to keep a run count).

* Manual option to "reload dosxbox on exit"?  Can be usefull for known "problem" games.

* Try out improved mt32 emulation

* Check out savestate patch

* Add ability to activate/deactivate individual lines in autoexec (for trouble shooting and setup).  (Considering selectable alternate autoexec lines) or ability to move lines in the autoexec up/down.

* Look into more accurate pc sound driver in ykhwong's Dosbox build.

*************
* Wish List *
*************

Possibly create a dosxbox lite that can be called for games with larger memory requirements?


********************
*** Bugs, Issues ***
********************

* Some games put the core in a state where the game will not reload (strike commander and one other game that slips my mind).  This may no longer be an issue.

* Large TLB, Dynamic Recompiler and MT32 = bad mojo (lockups).  I'm too lazy right now to put in checks for these.  So be warned!  I'll work on fixing this later.
